{"componentChunkName":"component---src-templates-slide-js","path":"/slides/skills/npm-run-test","matchPath":"/slides/skills/npm-run-test/*","webpackCompilationHash":"c021816e17e59e08b77b","result":{"data":{"site":{"siteMetadata":{"keywords":["blog","ubug","tech blog","技术博客","playground"]}},"mdx":{"id":"7bf4900f-7fa9-5670-b1e8-c123b835ddd3","body":"const _excluded = [\"components\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\n/* @jsx mdx */\n\nconst _frontmatter = {\n  \"slug\": \"npm-run-test\",\n  \"title\": \"前端测试\",\n  \"theme\": \"code\",\n  \"date\": \"2020-11-15 18:16:01\",\n  \"published\": true\n};\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n  console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n  return mdx(\"div\", props);\n};\nconst Split = makeShortcode(\"Split\");\nconst layoutProps = {\n  _frontmatter\n};\nconst MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  let {\n      components\n    } = _ref,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", null, \"\\u524D\\u7AEF\\u6D4B\\u8BD5\\u7684\\u90A3\\u4E9B\\u4E8B\"), mdx(\"h2\", null, \"Something about Testing\"), mdx(\"p\", null, \"\\u5206\\u4EAB\\u524D\\u7AEF\\u6D4B\\u8BD5\\u7684\\u4E00\\u4E9B\\u89C2\\u70B9\\u548C\\u89C4\\u8303\"), mdx(\"div\", {\n    style: {\n      fontSize: \".5em\"\n    }\n  }, \"/ ** \\u6280\\u672F\\u56E2\\u961F\\u5206\\u4EAB \\xB7 \\u524D\\u7AEF \\xB7 Ubug ** /\"), mdx(\"hr\", null), mdx(\"h3\", null, \"\\u5FC5\\u8981\\u6027\\u548C\\u987B\\u77E5\"), mdx(\"div\", {\n    style: {\n      textAlign: \"68vw\"\n    }\n  }, mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u524D\\u7AEF\\u5982\\u679C\\u8FFD\\u6C42\\u65B0\\u529F\\u80FD\\u548C\\u7279\\u6027\\uFF0C\\u5065\\u58EE\\u6027\\u95EE\\u9898\\u8FDF\\u65E9\\u9700\\u8981\\u8865\\u8BFE\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u4F46\\u662F\\u5982\\u679C\\u8FFD\\u6C42\\u5168\\u8986\\u76D6\\u7684\\u6D4B\\u8BD5\\u7387\\uFF0C\\u90A3\\u53CD\\u800C\\u66F4\\u662F\\u65E0\\u6CD5\\u5B9E\\u73B0\\u7684\\uFF0C\\u5BF9\\u8FDB\\u5EA6\\u65E0\\u76CA\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u6838\\u5FC3\\u548C\\u57FA\\u7840\\u6A21\\u5757\\u8FFD\\u6C42 100% \\u8986\\u76D6\\uFF0C\\u5176\\u4ED6\\u7684\\u4EC5\\u5BF9\\u590D\\u6742\\u903B\\u8F91\\u8FDB\\u884C\\u6D4B\\u8BD5\\uFF0C\\u81F3\\u4E8E\\u5269\\u4E0B\\u7684\\u53EA\\u5728\\u5173\\u952E\\u70B9\\u8FDB\\u884C\\u6CE8\\u91CA\\u3002\"))), mdx(\"h1\", null), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"\\u6240\\u4EE5\\u6D4B\\u8BD5\\u5F88\\u6709\\u5FC5\\u8981\\uFF0C\\u4F46\\u662F\\u8981\\u6709\\u7684\\u653E\\u77E2\\uFF0C\\u6709\\u76EE\\u7684\\u7684\\u6295\\u5165\\u8D44\\u6E90\\uFF0C\\u5E73\\u8861\\u8FDB\\u5EA6\\u548C\\u5065\\u58EE\\u6027\\u7684\\u95EE\\u9898\\u3002\")), mdx(\"hr\", null), mdx(\"h3\", null, \"\\u76EE\\u7684\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u6D4B\\u8BD5\\u9A71\\u52A8\\u7F16\\u7A0B\\uFF0C\\u66F4\\u597D\\u7684\\u8003\\u8651\\u8FB9\\u754C\\u800C\\u4E0D\\u662F\\u5047\\u8BBE\\u6210\\u529F\\u7F16\\u7A0B\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u66F4\\u597D\\u7684\\u8868\\u8FF0\\u529F\\u80FD\\u76EE\\u7684\\u548C\\u9884\\u671F\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u591A\\u4EBA\\u534F\\u4F5C\\u7684\\u65F6\\u5019\\u66F4\\u597D\\u7684\\u9650\\u5236\\u884C\\u4E3A\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u907F\\u514D\\u56DE\\u5F52\\u6D4B\\u8BD5\\u5931\\u8D25\\uFF0C\\u540E\\u7EED\\u4FEE\\u6539\\u4E0D\\u81EA\\u77E5\\u7684\\u6D89\\u53CA\\u5DF2\\u6709\\u529F\\u80FD\")), mdx(\"h1\", null), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"\\u65B0\\u529F\\u80FD\\u548C\\u4E1A\\u52A1\\u4E00\\u76F4\\u8FFD\\u7684\\u5F88\\u7D27\\uFF0C\\u4F46\\u662F\\u5BF9\\u4E8E\\u57FA\\u7840\\u548C\\u91CD\\u8981\\u6A21\\u5757\\uFF0C\\u9700\\u8981\\u6709\\u8DB3\\u591F\\u7684\\u65F6\\u95F4\\u5B8C\\u5584\\u6D4B\\u8BD5\\u3002\")), mdx(\"hr\", null), mdx(\"h3\", null, \"\\u6D4B\\u8BD5\\u76EE\\u6807\\u7684\\u4E00\\u822C\\u539F\\u5219\"), mdx(Split, {\n    mdxType: \"Split\"\n  }, mdx(\"div\", {\n    style: {\n      width: 600\n    }\n  }, mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"\\u91CD\\u8981\\u6838\\u5FC3\\u529F\\u80FD\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"\\u8DE8\\u9879\\u76EE\\u4F9D\\u8D56\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"\\u57FA\\u7840\\u652F\\u6301\\u5E93\\u3001\\u5DE5\\u5177\\u5E93\\u6216\\u8005\\u7EC4\\u4EF6\")))), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u57FA\\u7840\\u7EC4\\u4EF6\\u5E93 \\u2705\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u8F85\\u52A9\\u51FD\\u6570\\u4E4B\\u7C7B\\u7684\\u57FA\\u7840\\u5E93 \\u2705\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u6838\\u5FC3\\u6570\\u636E\\u5C42 \\u2705\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u591A\\u9879\\u76EE\\u4F7F\\u7528\\u7684 App \\u5524\\u9192 \\u2705\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u591A\\u9879\\u76EE\\u4F7F\\u7528\\u7684\\u9519\\u8BEF\\u6536\\u96C6 \\u2705\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u5C01\\u88C5\\u7684\\u5E94\\u7528\\u901A\\u4FE1\\u5C42 \\u2705\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u4E1A\\u52A1\\u754C\\u9762 \\u274C\\u2754\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u6D3B\\u52A8\\u754C\\u9762 \\u274C\\u2754\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u7B2C\\u4E09\\u65B9\\u4F9D\\u8D56 \\u274C\"))), mdx(\"hr\", null), mdx(\"h3\", null, \"\\u89C4\\u8303\"), mdx(\"div\", {\n    style: {\n      textAlign: 'left',\n      width: '60vw'\n    }\n  }, mdx(\"p\", null, \"\\u6211\\u4EEC\\u5199\\u51FA\\u6765\\u7684\\u6BCF\\u4E00\\u4E2A\\u6A21\\u5757\\uFF0C\\u5C06\\u6765\\u90FD\\u662F\\u8981\\u4E0A\\u7EBF\\u7684\\uFF0C\\u662F\\u8981\\u7ECF\\u53D7\\u6D41\\u91CF\\u68C0\\u9A8C\\u7684\\uFF0C\\u5982\\u679C\\u4F60\\u5199\\u7684\\u8FD9\\u4E2A\\u903B\\u8F91\\u5728\\u7EBF\\u4E0A\\u9020\\u6210\\u4E86\\u5D29\\u6E83\\u3001\\u767D\\u5C4F\\u3001\\u6D41\\u7A0B\\u8D70\\u4E0D\\u901A\\uFF0C\\u662F\\u4F1A\\u5F71\\u54CD\\u4EA7\\u54C1\\u4F53\\u9A8C\\u3001\\u9020\\u6210\\u8D44\\u4EA7\\u635F\\u5931\\u3001\\u751A\\u81F3\\u5F62\\u8C61\\u516C\\u53F8\\u7684\\u5546\\u4E1A\\u8BA1\\u5212\\u3002\"), mdx(\"p\", null, \"\\u5B66\\u751F\\u65F6\\u4EE3 Demo \\u7EA7\\u522B\\u7684\\u7A0B\\u5E8F\\u548C\\u4E0A\\u7EBF\\u4EA7\\u54C1\\u7684\\u533A\\u522B\\u5F88\\u5927\\u7684\\u5730\\u65B9\\u5728\\u4E8E\\uFF1A\", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"\\u4F1A\\u6709\\u5F88\\u591A\\u4EBA\\u4F7F\\u7528\\uFF0C\\u4F60\\u9700\\u8981\\u4E3A\\u610F\\u5916\\u548C\\u95EE\\u9898\\u8D1F\\u8D23\"), \"\\uFF0C\\u4E0D\\u4EC5\\u4EC5\\u662F\\u4F60\\uFF0C\\u6211\\u4F5C\\u4E3A\\u8D1F\\u8D23\\u4EBA\\u4E5F\\u4E3A\\u4F60\\u6572\\u51FA\\u6765\\u7684\\u6BCF\\u4E2A\\u5B57\\u7B26\\u80CC\\u4E66\\u3002\"), mdx(\"p\", null, \"\\u6240\\u4EE5\\u5982\\u679C\\u4F60\\u7ECF\\u624B\\u7684\\u4EA7\\u54C1\\u5F88\\u91CD\\u8981\\uFF0C\\u4F46\\u662F\\u6CA1\\u6709\\u90A3\\u79CD\\u8001\\u9053\\u7684\\u7ECF\\u9A8C\\uFF0C\\u6CA1\\u80FD\\u529B\\u8003\\u8651\\u5468\\u5168\\uFF0C\\u8BF7\\u4E25\\u683C\\u6309\\u7167\\u89C4\\u8303\\u4FDD\\u8BC1\\u6D4B\\u8BD5\\u3002\"), mdx(\"small\", {\n    style: {\n      fontSize: '0.6em'\n    }\n  }, \"*: \\u6D4B\\u8BD5\\u89C4\\u8303\\u8BF7\\u5230\\u5185\\u7F51\\u4EE3\\u7801\\u5E73\\u53F0\\u67E5\\u770B\")), mdx(\"hr\", null), mdx(\"h3\", null, \"\\u524D\\u7AEF\\u6D4B\\u8BD5\\u6982\\u89C8\"), mdx(Split, {\n    mdxType: \"Split\"\n  }, mdx(\"div\", {\n    style: {\n      textAlign: 'left',\n      width: '40vw',\n      marginRight: '50px'\n    }\n  }, mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u5355\\u5143\\u6D4B\\u8BD5\\uFF1A\\u4ECE\\u529F\\u80FD\\u51FD\\u6570\\u5230\\u6574\\u4E2A\\u6A21\\u5757\\u7684\\u6D4B\\u8BD5\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u529F\\u80FD\\u6D4B\\u8BD5 / e2e\\u6D4B\\u8BD5 / \\u7AEF\\u5230\\u7AEF\\u6D4B\\u8BD5 / \\u5192\\u70DF\\u6D4B\\u8BD5\\uFF1A\\u5B8C\\u6574\\u72EC\\u7ACB\\u529F\\u80FD\\u7684\\u6D4B\\u8BD5\\uFF0C\\u6BD4\\u5982\\u767B\\u9646\\u6CE8\\u518C\\u7684\\u6D41\\u7A0B\\uFF0C\\u53EF\\u80FD\\u9700\\u8981\\u6A21\\u62DF\\u7528\\u6237\\u4EA4\\u4E92\\uFF0C\\u76EE\\u7684\\u662F\\u5B8C\\u6574\\u6027\\u3002\"))), mdx(\"div\", {\n    style: {\n      textAlign: 'left',\n      width: '40vw'\n    }\n  }, mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u8FB9\\u754C\\u7684\\u9650\\u5B9A\\u3001\\u7EAF\\u51FD\\u6570\\u7684\\u8F93\\u5165\\u8F93\\u51FA\\u9650\\u5236\\u548C\\u89C4\\u8303\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u7AEF\\u5BF9\\u7AEF\\u7684\\u6D4B\\u8BD5\\u3001\\u9ED1\\u76D2\\u884C\\u4E3A\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u53EF\\u4EE5\\u63CF\\u8FF0\\u7684 UI \\u548C\\u884C\\u4E3A\")))), mdx(\"hr\", null), mdx(\"h3\", null, \"\\u5DE5\\u5177\"), mdx(\"div\", {\n    style: {\n      textAlign: 'left',\n      width: '60vw',\n      marginBottom: 20\n    }\n  }, mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Jest\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"React Testing Library\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Enzyme\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"PhantomJS\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Puppeteer\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"cypress\"))), mdx(\"p\", null, \"\\u6211\\u4EEC\\u76EE\\u524D\\u6BCF\\u4E2A\\u9879\\u76EE\\u4E25\\u683C\\u7A0B\\u5EA6\\u4E0D\\u540C\\uFF0C\\u4E0D\\u8FC7\\u57FA\\u672C\\u90FD\\u6709\\u5B9E\\u73B0\\u7684\\u5B9E\\u4F8B\\u548C\\u8FD0\\u884C\\u6587\\u6863\\u3002\"), mdx(\"hr\", null), mdx(\"h1\", null, \"Thank You\"), mdx(\"div\", {\n    style: {\n      fontSize: \".5em\"\n    }\n  }, \"/ ** \\u6280\\u672F\\u56E2\\u961F\\u5206\\u4EAB \\xB7 \\u524D\\u7AEF \\xB7 Ubug ** /\"));\n}\n;\nMDXContent.isMDXComponent = true;","fields":{"theme":"code","title":"前端测试"}}},"pageContext":{"matchPath":"/slides/skills/npm-run-test/*","isCreatedByStatefulCreatePages":false,"fileAbsolutePath":"D:/ubug/storybook/content/slides/skills/npm-run-test.md","id":"7bf4900f-7fa9-5670-b1e8-c123b835ddd3","parent":{"name":"npm-run-test","sourceInstanceName":"slides"},"excerpt":"前端测试的那些事 Something about Testing 必要性和须知 前端如果追求新功能和特性，健壮性问题迟早需要补课。 但是如果追求全覆盖的测试率，那反而更是无法实现的，对进度无益。 核心和基础模块追求 10…","fields":{"title":"前端测试","slug":"/slides/skills/npm-run-test","description":null,"date":"2020-11-15","redirects":null,"datetime":"2020-11-15 18:16:01","categories":[],"series":null,"tags":[],"status":"online"},"frontmatter":{"published":true,"tags":null,"theme":"code","slug":"npm-run-test","date":"2020-11-15 18:16:01"},"body":"const _excluded = [\"components\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\n/* @jsx mdx */\n\nconst _frontmatter = {\n  \"slug\": \"npm-run-test\",\n  \"title\": \"前端测试\",\n  \"theme\": \"code\",\n  \"date\": \"2020-11-15 18:16:01\",\n  \"published\": true\n};\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n  console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n  return mdx(\"div\", props);\n};\nconst Split = makeShortcode(\"Split\");\nconst layoutProps = {\n  _frontmatter\n};\nconst MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  let {\n      components\n    } = _ref,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", null, \"\\u524D\\u7AEF\\u6D4B\\u8BD5\\u7684\\u90A3\\u4E9B\\u4E8B\"), mdx(\"h2\", null, \"Something about Testing\"), mdx(\"p\", null, \"\\u5206\\u4EAB\\u524D\\u7AEF\\u6D4B\\u8BD5\\u7684\\u4E00\\u4E9B\\u89C2\\u70B9\\u548C\\u89C4\\u8303\"), mdx(\"div\", {\n    style: {\n      fontSize: \".5em\"\n    }\n  }, \"/ ** \\u6280\\u672F\\u56E2\\u961F\\u5206\\u4EAB \\xB7 \\u524D\\u7AEF \\xB7 Ubug ** /\"), mdx(\"hr\", null), mdx(\"h3\", null, \"\\u5FC5\\u8981\\u6027\\u548C\\u987B\\u77E5\"), mdx(\"div\", {\n    style: {\n      textAlign: \"68vw\"\n    }\n  }, mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u524D\\u7AEF\\u5982\\u679C\\u8FFD\\u6C42\\u65B0\\u529F\\u80FD\\u548C\\u7279\\u6027\\uFF0C\\u5065\\u58EE\\u6027\\u95EE\\u9898\\u8FDF\\u65E9\\u9700\\u8981\\u8865\\u8BFE\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u4F46\\u662F\\u5982\\u679C\\u8FFD\\u6C42\\u5168\\u8986\\u76D6\\u7684\\u6D4B\\u8BD5\\u7387\\uFF0C\\u90A3\\u53CD\\u800C\\u66F4\\u662F\\u65E0\\u6CD5\\u5B9E\\u73B0\\u7684\\uFF0C\\u5BF9\\u8FDB\\u5EA6\\u65E0\\u76CA\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u6838\\u5FC3\\u548C\\u57FA\\u7840\\u6A21\\u5757\\u8FFD\\u6C42 100% \\u8986\\u76D6\\uFF0C\\u5176\\u4ED6\\u7684\\u4EC5\\u5BF9\\u590D\\u6742\\u903B\\u8F91\\u8FDB\\u884C\\u6D4B\\u8BD5\\uFF0C\\u81F3\\u4E8E\\u5269\\u4E0B\\u7684\\u53EA\\u5728\\u5173\\u952E\\u70B9\\u8FDB\\u884C\\u6CE8\\u91CA\\u3002\"))), mdx(\"h1\", null), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"\\u6240\\u4EE5\\u6D4B\\u8BD5\\u5F88\\u6709\\u5FC5\\u8981\\uFF0C\\u4F46\\u662F\\u8981\\u6709\\u7684\\u653E\\u77E2\\uFF0C\\u6709\\u76EE\\u7684\\u7684\\u6295\\u5165\\u8D44\\u6E90\\uFF0C\\u5E73\\u8861\\u8FDB\\u5EA6\\u548C\\u5065\\u58EE\\u6027\\u7684\\u95EE\\u9898\\u3002\")), mdx(\"hr\", null), mdx(\"h3\", null, \"\\u76EE\\u7684\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u6D4B\\u8BD5\\u9A71\\u52A8\\u7F16\\u7A0B\\uFF0C\\u66F4\\u597D\\u7684\\u8003\\u8651\\u8FB9\\u754C\\u800C\\u4E0D\\u662F\\u5047\\u8BBE\\u6210\\u529F\\u7F16\\u7A0B\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u66F4\\u597D\\u7684\\u8868\\u8FF0\\u529F\\u80FD\\u76EE\\u7684\\u548C\\u9884\\u671F\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u591A\\u4EBA\\u534F\\u4F5C\\u7684\\u65F6\\u5019\\u66F4\\u597D\\u7684\\u9650\\u5236\\u884C\\u4E3A\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u907F\\u514D\\u56DE\\u5F52\\u6D4B\\u8BD5\\u5931\\u8D25\\uFF0C\\u540E\\u7EED\\u4FEE\\u6539\\u4E0D\\u81EA\\u77E5\\u7684\\u6D89\\u53CA\\u5DF2\\u6709\\u529F\\u80FD\")), mdx(\"h1\", null), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"\\u65B0\\u529F\\u80FD\\u548C\\u4E1A\\u52A1\\u4E00\\u76F4\\u8FFD\\u7684\\u5F88\\u7D27\\uFF0C\\u4F46\\u662F\\u5BF9\\u4E8E\\u57FA\\u7840\\u548C\\u91CD\\u8981\\u6A21\\u5757\\uFF0C\\u9700\\u8981\\u6709\\u8DB3\\u591F\\u7684\\u65F6\\u95F4\\u5B8C\\u5584\\u6D4B\\u8BD5\\u3002\")), mdx(\"hr\", null), mdx(\"h3\", null, \"\\u6D4B\\u8BD5\\u76EE\\u6807\\u7684\\u4E00\\u822C\\u539F\\u5219\"), mdx(Split, {\n    mdxType: \"Split\"\n  }, mdx(\"div\", {\n    style: {\n      width: 600\n    }\n  }, mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"\\u91CD\\u8981\\u6838\\u5FC3\\u529F\\u80FD\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"\\u8DE8\\u9879\\u76EE\\u4F9D\\u8D56\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"\\u57FA\\u7840\\u652F\\u6301\\u5E93\\u3001\\u5DE5\\u5177\\u5E93\\u6216\\u8005\\u7EC4\\u4EF6\")))), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u57FA\\u7840\\u7EC4\\u4EF6\\u5E93 \\u2705\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u8F85\\u52A9\\u51FD\\u6570\\u4E4B\\u7C7B\\u7684\\u57FA\\u7840\\u5E93 \\u2705\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u6838\\u5FC3\\u6570\\u636E\\u5C42 \\u2705\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u591A\\u9879\\u76EE\\u4F7F\\u7528\\u7684 App \\u5524\\u9192 \\u2705\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u591A\\u9879\\u76EE\\u4F7F\\u7528\\u7684\\u9519\\u8BEF\\u6536\\u96C6 \\u2705\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u5C01\\u88C5\\u7684\\u5E94\\u7528\\u901A\\u4FE1\\u5C42 \\u2705\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u4E1A\\u52A1\\u754C\\u9762 \\u274C\\u2754\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u6D3B\\u52A8\\u754C\\u9762 \\u274C\\u2754\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u7B2C\\u4E09\\u65B9\\u4F9D\\u8D56 \\u274C\"))), mdx(\"hr\", null), mdx(\"h3\", null, \"\\u89C4\\u8303\"), mdx(\"div\", {\n    style: {\n      textAlign: 'left',\n      width: '60vw'\n    }\n  }, mdx(\"p\", null, \"\\u6211\\u4EEC\\u5199\\u51FA\\u6765\\u7684\\u6BCF\\u4E00\\u4E2A\\u6A21\\u5757\\uFF0C\\u5C06\\u6765\\u90FD\\u662F\\u8981\\u4E0A\\u7EBF\\u7684\\uFF0C\\u662F\\u8981\\u7ECF\\u53D7\\u6D41\\u91CF\\u68C0\\u9A8C\\u7684\\uFF0C\\u5982\\u679C\\u4F60\\u5199\\u7684\\u8FD9\\u4E2A\\u903B\\u8F91\\u5728\\u7EBF\\u4E0A\\u9020\\u6210\\u4E86\\u5D29\\u6E83\\u3001\\u767D\\u5C4F\\u3001\\u6D41\\u7A0B\\u8D70\\u4E0D\\u901A\\uFF0C\\u662F\\u4F1A\\u5F71\\u54CD\\u4EA7\\u54C1\\u4F53\\u9A8C\\u3001\\u9020\\u6210\\u8D44\\u4EA7\\u635F\\u5931\\u3001\\u751A\\u81F3\\u5F62\\u8C61\\u516C\\u53F8\\u7684\\u5546\\u4E1A\\u8BA1\\u5212\\u3002\"), mdx(\"p\", null, \"\\u5B66\\u751F\\u65F6\\u4EE3 Demo \\u7EA7\\u522B\\u7684\\u7A0B\\u5E8F\\u548C\\u4E0A\\u7EBF\\u4EA7\\u54C1\\u7684\\u533A\\u522B\\u5F88\\u5927\\u7684\\u5730\\u65B9\\u5728\\u4E8E\\uFF1A\", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"\\u4F1A\\u6709\\u5F88\\u591A\\u4EBA\\u4F7F\\u7528\\uFF0C\\u4F60\\u9700\\u8981\\u4E3A\\u610F\\u5916\\u548C\\u95EE\\u9898\\u8D1F\\u8D23\"), \"\\uFF0C\\u4E0D\\u4EC5\\u4EC5\\u662F\\u4F60\\uFF0C\\u6211\\u4F5C\\u4E3A\\u8D1F\\u8D23\\u4EBA\\u4E5F\\u4E3A\\u4F60\\u6572\\u51FA\\u6765\\u7684\\u6BCF\\u4E2A\\u5B57\\u7B26\\u80CC\\u4E66\\u3002\"), mdx(\"p\", null, \"\\u6240\\u4EE5\\u5982\\u679C\\u4F60\\u7ECF\\u624B\\u7684\\u4EA7\\u54C1\\u5F88\\u91CD\\u8981\\uFF0C\\u4F46\\u662F\\u6CA1\\u6709\\u90A3\\u79CD\\u8001\\u9053\\u7684\\u7ECF\\u9A8C\\uFF0C\\u6CA1\\u80FD\\u529B\\u8003\\u8651\\u5468\\u5168\\uFF0C\\u8BF7\\u4E25\\u683C\\u6309\\u7167\\u89C4\\u8303\\u4FDD\\u8BC1\\u6D4B\\u8BD5\\u3002\"), mdx(\"small\", {\n    style: {\n      fontSize: '0.6em'\n    }\n  }, \"*: \\u6D4B\\u8BD5\\u89C4\\u8303\\u8BF7\\u5230\\u5185\\u7F51\\u4EE3\\u7801\\u5E73\\u53F0\\u67E5\\u770B\")), mdx(\"hr\", null), mdx(\"h3\", null, \"\\u524D\\u7AEF\\u6D4B\\u8BD5\\u6982\\u89C8\"), mdx(Split, {\n    mdxType: \"Split\"\n  }, mdx(\"div\", {\n    style: {\n      textAlign: 'left',\n      width: '40vw',\n      marginRight: '50px'\n    }\n  }, mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u5355\\u5143\\u6D4B\\u8BD5\\uFF1A\\u4ECE\\u529F\\u80FD\\u51FD\\u6570\\u5230\\u6574\\u4E2A\\u6A21\\u5757\\u7684\\u6D4B\\u8BD5\\u3002\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u529F\\u80FD\\u6D4B\\u8BD5 / e2e\\u6D4B\\u8BD5 / \\u7AEF\\u5230\\u7AEF\\u6D4B\\u8BD5 / \\u5192\\u70DF\\u6D4B\\u8BD5\\uFF1A\\u5B8C\\u6574\\u72EC\\u7ACB\\u529F\\u80FD\\u7684\\u6D4B\\u8BD5\\uFF0C\\u6BD4\\u5982\\u767B\\u9646\\u6CE8\\u518C\\u7684\\u6D41\\u7A0B\\uFF0C\\u53EF\\u80FD\\u9700\\u8981\\u6A21\\u62DF\\u7528\\u6237\\u4EA4\\u4E92\\uFF0C\\u76EE\\u7684\\u662F\\u5B8C\\u6574\\u6027\\u3002\"))), mdx(\"div\", {\n    style: {\n      textAlign: 'left',\n      width: '40vw'\n    }\n  }, mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u8FB9\\u754C\\u7684\\u9650\\u5B9A\\u3001\\u7EAF\\u51FD\\u6570\\u7684\\u8F93\\u5165\\u8F93\\u51FA\\u9650\\u5236\\u548C\\u89C4\\u8303\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u7AEF\\u5BF9\\u7AEF\\u7684\\u6D4B\\u8BD5\\u3001\\u9ED1\\u76D2\\u884C\\u4E3A\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\u53EF\\u4EE5\\u63CF\\u8FF0\\u7684 UI \\u548C\\u884C\\u4E3A\")))), mdx(\"hr\", null), mdx(\"h3\", null, \"\\u5DE5\\u5177\"), mdx(\"div\", {\n    style: {\n      textAlign: 'left',\n      width: '60vw',\n      marginBottom: 20\n    }\n  }, mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Jest\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"React Testing Library\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Enzyme\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"PhantomJS\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Puppeteer\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"cypress\"))), mdx(\"p\", null, \"\\u6211\\u4EEC\\u76EE\\u524D\\u6BCF\\u4E2A\\u9879\\u76EE\\u4E25\\u683C\\u7A0B\\u5EA6\\u4E0D\\u540C\\uFF0C\\u4E0D\\u8FC7\\u57FA\\u672C\\u90FD\\u6709\\u5B9E\\u73B0\\u7684\\u5B9E\\u4F8B\\u548C\\u8FD0\\u884C\\u6587\\u6863\\u3002\"), mdx(\"hr\", null), mdx(\"h1\", null, \"Thank You\"), mdx(\"div\", {\n    style: {\n      fontSize: \".5em\"\n    }\n  }, \"/ ** \\u6280\\u672F\\u56E2\\u961F\\u5206\\u4EAB \\xB7 \\u524D\\u7AEF \\xB7 Ubug ** /\"));\n}\n;\nMDXContent.isMDXComponent = true;","slug":"/slides/skills/npm-run-test"}}}